using System;
using System.Net;

namespace HarrisDesigns.Controls.dasBlogControls
{
    public interface IJsonRepository<T>
    {
        int PollingInterval { get; set; }
        string UserIdentity { get; set; }
        DataStore<T> DataStore { get; }
        bool IsDataStale { get; }
        bool IsDataMissing { get; }
        void LoadDataFromSource(int timeout, bool isSyncronous);
        T GetCurrentData();
        string GetJsonRequestUrl();
        void LoadDataFromAsyncResult(IAsyncResult ar);
        void DeserializeToData(HttpWebResponse jsonResponse);
    }
}